package cc.linker.steplink.crm.merchant.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface NewMallDao {
    List<Map<String, Object>> getGoodsList(Map map);

    List<Map<String, Object>> excelList(Map map);

    void changeGoodStatus(String goodsId);

    void changeOrgStatus(String goodsId);

    void insertGoodsSpec(Map<String, Object> map);

    Long insertSku(Map<String, Object> map);

    void updateRelation(@Param("goodsId") Long goodsId, @Param("groupId") Integer groupId);

    void insertGoods(Map map);

    String getSalerId(String userId);

    List<Map<String, Object>> getGoodsListByUserCode(Map<String, Object> params);

    String getCustomerIdByUserId(Map<String, Object> params);

    void insertXbGoods(Map<String, Object> params);

    Map<String, Integer> ifCanUpGoods(Map<String, Object> params);

    Integer getGoodsCountByCustomerId(String customerId);

    List<Map<String, Object>> listPaging(Map<String, Object> params);

    String getTokenByOrgId(Object orgId);

    Map<String, Object> getMallInfo(Map<String, Object> params);

    /**
     * 判断机构审核状态
     */
    Integer judgeStateOfAdminOrg(Map<String, Object> params);

    /**
     * 根据机构id获取大b商家名称
     */
    String getShopNameByOrgId(Map<String, Object> params);


    String getPayIdByOrgId(Map<String, Object> params);

    Map<String, Object> getMerInfo(Map<String, Object> params);

    Map<String, Object> getPayInfo(Map<String, Object> params);

    Map<String, Object> getPublicInfo(Map<String, Object> params);

    void addGoodsCateAttr(@Param("goodsId") Long goodsId, @Param("categoryId") Integer categoryId, @Param("attributeId") String attributeId);

    String getGoodTypeById(String goodsId);

    void changeShareStatus(Map<String, Object> params);

    Integer getAuthenticateStateByCid(String customerId);

    void insertGoodsPublic(Map<String, Object> params);

    void updateRelationByList(@Param("goodsId") Long goodsId, @Param("groupId") List groupId);

    String getGoodBaseAttr(@Param("attributeId") String attributeId);

    Integer ifInMatch(Map<String, Object> missMactch);

    void addMatch(Map<String, Object> missMactch);

    void updateMatch(Map<String, Object> missMactch);

    List<Map<String, Object>> listGoodsData(Map<String, Object> param);

    List<Map<String, Object>> getGoodsDataByGoodsIdAndType(Map<String, Object> param);

    Map<String, Object> getGoodsDataByGoodsId(Map<String, Object> param);

    String getTokenByGoodsId(String goodsId);

    String getTokenByEnrollId(String goodsId);

    List<Map<String, Object>> listEnrollData(Map<String, Object> param);

    Map<String, Object> getEnrollDataByEnrollId(Map<String, Object> param);

    List<Map<String, Object>> getEnrollDataByEnrollIdAndType(Map<String, Object> param);

    void delSkuBySkuIds(@Param("skuIds") List<Long> skuIds,@Param("goodsId") Long goodsId);

    Map<String, Object> getGoodsInfo(@Param("goodsId") Long goodsId);

    void updateMallsGoodsSort(Long goodsId);

    String getTokenByVipId(String goodsId);

    void updateSort(Map<String, Object> params);

    void delSerRelByGoodsId(@Param("goodsId") Long goodsId);

    void insertSerRel(Map map);

    void addSecKill(Map<String, Object> secKillParam);

    void delSecKill(Long goodsId);

    String getoken(String orgId);

}
